﻿/** 
Copyright (c) 2010, Sheikh Abdul Wahid Ahmed
Details @ http://extremecodeworld.codeplex.com/license
**/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using System.Data;

namespace EXtremecode.DataAccessLayer.Services
{
    [ServiceContract]
    [ServiceKnownType(typeof(ServiceCommand))]
    [ServiceKnownType(typeof(ServiceParameterCollection))]
    [ServiceKnownType(typeof(ServiceParameter))]
    [ServiceKnownType(typeof(System.DBNull))]
    public interface IDBService
    {
        [OperationContract]
        DataSet ExecuteFillQuery(ServiceCommand cmd, string AccessorName, bool transactionBased);

        [OperationContract]
        ServiceDataReader ExecuteReader(ServiceCommand cmd, string accessorName, bool transactionBased);



        [OperationContract]
        DataSet Update(ServiceDataAdapter adapter,DataSet ds,string accessorName, bool transactionBased);

        [OperationContract]
        DataSet Fill(ServiceDataAdapter adapter, DataSet ds, string accessorName, bool transactionBased);


        [OperationContract]
        int ExecuteNonQuery(ServiceCommand cmd, string accessorName, bool transactionBased);
    }
}
